//search小仓库
import { reqGetSearchInfo } from "@/api"
const state={
    searchList:{}
}
const mutations={
    GETSEARCHLIST(state,searchList){
        state.searchList=searchList

    }
}
const actions={
    //获取search模块数据
    async getSearchList({commit},params={}){ //params={}，是箭头函数的特性，有参数就是params，无参数就是{}空对象
        //当前这个函数再获取服务器数据的时候至少要传递一个参数（空对象）
        //params形参：是当用户派发action的时候，第二个参数传递过来的，至少是一个空对象
    let result=   await reqGetSearchInfo(params)
    if(result.code==200){ 
        commit("GETSEARCHLIST",result.data)
}
   
    }
}
//计算属性
//项目中getters主要的作用是简化仓库中的数据
//把将来再组件当中需要的数据简化一下【将来组件再获取数据的时候方便很多】
const getters={
    //这个形参state是当前仓库中的state，并非大仓库中的state
    goodsList(state){
        //对于return state.searchList.goodsList如果服务器数据回来了，是一个数组
        //假如没有网络，return state.searchList.goodsList是undefined(因为state.searchList是空对象，空对象.goodsList是一个undefined)
        //计算新的属性的属性值至少是一个空数组,所以加上||[]
        return state.searchList.goodsList||[]
    },
    trademarkList(state){
        return state.searchList.trademarkList
    },
    attrsListList(state){
        return state.searchList.attrsList
    },

}

export default {
    state,
    mutations,
    actions,
    getters
}